博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
高阶组件之属性代理
阅读量:6291 次
发布时间:2019-06-22

本文共 1541 字,大约阅读时间需要 5 分钟。

新组件类继承子React.component类,对传入的组件进行一系列操作,从而产生一个新的组件,达到增强组件的作用

  • 操作props
  • 访问ref
  • 抽取state
  • 封装组件

废话不多说,直接上代码:

Tabbar.js

import React, { Component } from "react";import { Link } from "react-router-dom";import "./index.less";const tabbarArr = [  {    img: "icon-home",    text: "首页",    link: "/home"  },  {    img: "icon-fenlei",    text: "分类",    link: "/category"  },  {    img: "icon-shoutibao",    text: "拼购",    link: "/pingou"  },  {    img: "icon-gouwuche",    text: "购物车",    link: "/car"  },  {    img: "icon-yonghu",    text: "我的",    link: "/user"  }];const Tabbar = WrappedComponent =>  class Tabbar extends Component {    constructor(props) {      super(props);      this.state = {        activeIndex: 0      };    }    componentDidMount() {    }    render() {      const url = window.location.href;      return (        
{tabbarArr.map((item, index) => { return (
0 ? " active" : "") } key={index} >
{item.text}
); })}
); } };export default Tabbar;

Home.js

import React, { Component } from "react";import Tabbar from "../components/Tabbar";@Tabbarclass Home extends Component {  render() {    return (      
首页
); }}export default Home;

效果如图:

图片描述

转载地址:http://xhkta.baihongyu.com/

你可能感兴趣的文章
安装nginx 常见错误及 解决方法
查看>>
Gorun8电子商城
查看>>
在之前链表的基础上改良的链表
查看>>
android编译系统makefile(Android.mk)写法
查看>>
MD5源代码C++
查看>>
Eclipse 添加 Ibator
查看>>
Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义
查看>>
Python编程语言
查看>>
十四、转到 linux
查看>>
Got error 241 'Invalid schema
查看>>
ReferenceError: event is not defined
查看>>
男人要内在美,更要外在美
查看>>
为什么要跟别人比?
查看>>
app启动白屏
查看>>
Oracle 提高查询性能(基础)
查看>>
学习知识应该像织网一样去学习——“网状学习法”
查看>>
Hadoop集群完全分布式安装
查看>>
QString,char,string之间赋值
查看>>
我的友情链接
查看>>
Nginx+mysql+php-fpm负载均衡配置实例
查看>>